package com.bjyada.ncp.op.rule;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * 卡信息，其中包括卡BIN信息，签约信息。
 * 
 * @author 涛
 * 
 */
public class CardInfo implements Serializable {

	private static final long serialVersionUID = 1L;

	private String cardNo;
	private CardBinInfo cardBinInfo;
	private ContractInfo contractInfo;

	/**
	 * 用于卡信息的一些扩张信息传递。
	 */
	public Map<String, String> ExtInfo = new HashMap<String, String>();

	/**
	 * 获取卡号
	 * 
	 * @return 卡号
	 */
	public String getCardNo() {
		return cardNo;
	}

	/**
	 * 设置卡号
	 * 
	 * @param cardNo
	 *            卡号
	 */
	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}

	/**
	 * 获取卡BIN信息
	 * 
	 * @return 卡BIN信息
	 */
	public CardBinInfo getCardBinInfo() {
		return cardBinInfo;
	}

	/**
	 * 设置卡BIN信息
	 * 
	 * @param cardBinInfo
	 *            卡BIN信息
	 */
	public void setCardBinInfo(CardBinInfo cardBinInfo) {
		this.cardBinInfo = cardBinInfo;
	}

	/**
	 * 获取签约信息
	 * 
	 * @return true：已签约，否则没签约。
	 */
	public Boolean HasContract() {
		return null != contractInfo;
	}

	/**
	 * 获取签约信息
	 * 
	 * @see ContractInfo
	 * @return 签约信息
	 */
	public ContractInfo getContractInfo() {
		return contractInfo;
	}

	/**
	 * 设置签约信息
	 * 
	 * @see ContractInfo
	 * @param contractInfo
	 *            签约信息
	 */
	public void setContractInfo(ContractInfo contractInfo) {
		this.contractInfo = contractInfo;
	}
}
